package com.cf.r1046;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class a {

    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static PrintWriter out = new PrintWriter(System.out);

    public static void main(String[] args) throws IOException {
        int T = Integer.parseInt(br.readLine());
        while (T-- > 0) {
            solve();
        }
        out.flush();
        out.close();
        br.close();
    }

    static void solve() throws IOException {
        String[] in = br.readLine().split(" ");
        long a = Long.parseLong(in[0]);
        long b = Long.parseLong(in[1]);
        long c = Long.parseLong(in[2]);

        long d = Long.parseLong(in[3]);
        c = c - a;
        d = d - b;
        if (check(a, b) && check(c, d)) {
            out.println("YES");
        } else {
            out.println("NO");
        }
    }

    static boolean check(long x, long y) {
        if (x > y) {
            long tmp = x;
            x = y;
            y = tmp;
        }
        long i = (y + 1) / 2;
        return x + 1 >= i;
    }
}
